// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import ListClass from '@api/flowpath/model/QueryFlowpathTemplateListReq'
import BaseClass from '@api/flowpath/model/FlowpathTemplateDto'
import FormDTO from '@api/flowpath/model/FlowpathAttributeDto'
import API from './API'

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量状态 —————————————————————————————— //

  /**
   * 接口
   */
  API,

  /**
   * 映射
   */
  MAP: {
    WORD: '模板', // 词语
  },

  /**
   * 字典
   */
  DICT: {
    /**
     * 表单类型
     */
    FORM_TYPE: [
      [1, '文本'],
      [2, '图片'],
      [3, '日期'],
    ],

    /**
     * 审批类型
     */
    AUDIT_TYPE: [
      [1, '人工审批'],
      [2, '自动通过'],
      [3, '自动拒绝'],
    ],

    /**
     * 审批人来源
     */
    USER_SOURCE: [
      [1, '指定审批人'],
      [2, '发起人自己'],
      [3, '部门主管'],
    ],

    /**
     * 撤销状态
     */
    CANCEL_STATUS: [
      ['1', '审批中'],
      ['2', '已通过'],
      ['3', '已拒绝'],
    ],
  },

  /**
   * 初始参数
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setParam() 重置时使用
   * 4. WebSearch 高级查询点重置时使用
   */
  INIT_PARAM: CORE.initObj(ListClass, {
    //
  }),

  /**
   * 初始单项
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setOne() 重置时使用
   * 4. openAdd() 新增时使用
   */
  INIT_ONE: CORE.initObj(BaseClass, {
    auto: '系统自动生成',

    attributes: [ // 表单属性列表
      CORE.initObj(FormDTO, { attributeType: 1, id: `${Date.now()}` }),
    ],

    approvers: [ // 审批人列表
      //
    ],
  }),
}
